﻿    using System;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Ink;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;

namespace WeiTalk
{
	public class WeiBoContent : ContentControl
	{

        public static readonly DependencyProperty UserNameProperty =
        DependencyProperty.Register(
        "UserName", typeof(string),
        typeof(WeiBoContent), null
        );
        public string UserName
        {
            get
            {
                return (string)GetValue(UserNameProperty);
            }
            set
            {
                SetValue(UserNameProperty, value);
            }
        }

        public static readonly DependencyProperty CreatedAtProperty =
        DependencyProperty.Register(
        "CreatedAt", typeof(string),
        typeof(WeiBoContent), null
        );
        public string CreatedAt
        {
            get
            {
                return (string)GetValue(CreatedAtProperty);
            }
            set
            {
                SetValue(CreatedAtProperty, value);
            }
        }

        public static readonly DependencyProperty ProfileImageUrlProperty =
        DependencyProperty.Register(
        "ProfileImageUrl", typeof(ImageSource),
        typeof(WeiBoContent), null
        );
        public ImageSource ProfileImageUrl
        {
            get
            {
                return (ImageSource)GetValue(ProfileImageUrlProperty);
            }
            set
            {
                SetValue(ProfileImageUrlProperty, value);
            }
        }

        public static readonly DependencyProperty TextProperty =
        DependencyProperty.Register(
        "Text", typeof(string),
        typeof(WeiBoContent), null
        );
        public string Text
        {
            get
            {
                return (string)GetValue(TextProperty);
            }
            set
            {
                SetValue(TextProperty, value);
            }
        }

        public static readonly DependencyProperty RetweetedContentProperty =
            DependencyProperty.Register("RetweetedContent", typeof(string), typeof(WeiBoContent), null);
        public string RetweetedContent
        {
            get { return (string)GetValue(RetweetedContentProperty); }
            set { SetValue(RetweetedContentProperty, value); }
        }

        public static readonly DependencyProperty RetweetedUserNameProperty =
            DependencyProperty.Register("RetweetedUserName", typeof(string), typeof(WeiBoContent), null);
        public string RetweetedUserName
        {
            get { return (string)GetValue(RetweetedUserNameProperty); }
            set { SetValue(RetweetedUserNameProperty, value); }
        }

        public static readonly DependencyProperty RetweetedCreateAtProperty =
           DependencyProperty.Register("RetweetedCreateAt", typeof(string), typeof(WeiBoContent), null);
        public string RetweetedCreateAt
        {
            get { return (string)GetValue(RetweetedCreateAtProperty); }
            set { SetValue(RetweetedCreateAtProperty, value); }
        }

        public static readonly DependencyProperty ThumbnailPicProperty =
          DependencyProperty.Register("ThumbnailPic", typeof(ImageSource), typeof(WeiBoContent), null);
        public ImageSource ThumbnailPic
        {
            get { return (ImageSource)GetValue(ThumbnailPicProperty); }
            set { SetValue(ThumbnailPicProperty, value); }
        }

        public static readonly DependencyProperty RetweetedThumbnailPicProperty =
          DependencyProperty.Register("RetweetedThumbnailPic", typeof(ImageSource), typeof(WeiBoContent), null);
        public ImageSource RetweetedThumbnailPic
        {
            get { return (ImageSource)GetValue(RetweetedThumbnailPicProperty); }
            set { SetValue(RetweetedThumbnailPicProperty, value); }
        }

        public static readonly DependencyProperty SourceProperty =
          DependencyProperty.Register("Source", typeof(string), typeof(WeiBoContent), null);
        public string Source
        {
            get { return (string)GetValue(SourceProperty); }
            set { SetValue(SourceProperty, value); }
        }

        public static readonly DependencyProperty RetweetedSourceProperty =
          DependencyProperty.Register("RetweetedSource", typeof(string), typeof(WeiBoContent), null);
        public string RetweetedSource
        {
            get { return (string)GetValue(RetweetedSourceProperty); }
            set { SetValue(RetweetedSourceProperty, value); }
        }

        public static readonly DependencyProperty RetweetedCommentCountProperty =
         DependencyProperty.Register("RetweetedCommentCount", typeof(string), typeof(WeiBoContent), null);
        public string RetweetedCommentCount
        {
            get {
                return (string)GetValue(RetweetedCommentCountProperty);
            }
            set
            {
                SetValue(RetweetedCommentCountProperty, value);
            }
        }

        public static readonly DependencyProperty RetweetedRepostsCountCountProperty =
         DependencyProperty.Register("RetweetedRepostsCount", typeof(string), typeof(WeiBoContent), null);
        public string RetweetedRepostsCount
        {
            get
            {
                return (string)GetValue(RetweetedRepostsCountCountProperty);
            }
            set
            {
                SetValue(RetweetedRepostsCountCountProperty, value);
            }
        }

        public static readonly DependencyProperty CommentCountCountCountProperty =
         DependencyProperty.Register("CommentCount", typeof(string), typeof(WeiBoContent), null);
        public string CommentCount
        {
            get
            {
                return (string)GetValue(CommentCountCountCountProperty);
            }
            set
            {
                SetValue(CommentCountCountCountProperty, value);
            }
        }

        public static readonly DependencyProperty RepostsCountCountProperty =
         DependencyProperty.Register("RepostsCount", typeof(string), typeof(WeiBoContent), null);
        public string RepostsCount
        {
            get
            {
                return (string)GetValue(RepostsCountCountProperty);
            }
            set
            {
                SetValue(RepostsCountCountProperty, value);
            }
        }

        public static readonly DependencyProperty IdProperty =
         DependencyProperty.Register("Id", typeof(string), typeof(WeiBoContent), null);
        public string Id
        {
            get
            {
                return (string)GetValue(IdProperty);
            }
            set
            {
                SetValue(IdProperty, value);
            }
        }

        public static readonly DependencyProperty UserIdProperty =
         DependencyProperty.Register("Id", typeof(string), typeof(WeiBoContent), null);
        public string UserId
        {
            get
            {
                return (string)GetValue(UserIdProperty);
            }
            set
            {
                SetValue(UserIdProperty, value);
            }
        }

        public static readonly DependencyProperty RetweetedIdProperty =
         DependencyProperty.Register("RetweetedId", typeof(string), typeof(WeiBoContent), null);
        public string RetweetedId
        {
            get
            {
                return (string)GetValue(RetweetedIdProperty);
            }
            set
            {
                SetValue(RetweetedIdProperty, value);
            }
        }

        public static readonly DependencyProperty RetweetedUserIdProperty =
         DependencyProperty.Register("RetweetedUserId", typeof(string), typeof(WeiBoContent), null);
        public string RetweetedUserId
        {
            get
            {
                return (string)GetValue(RetweetedUserIdProperty);
            }
            set
            {
                SetValue(RetweetedUserIdProperty, value);
            }
        }

        public static readonly DependencyProperty RetweetedVisibilityProperty =
         DependencyProperty.Register("RetweetedVisibility", typeof(Visibility), typeof(WeiBoContent), null);
        public Visibility RetweetedVisibility
        {
            get { return (Visibility)GetValue(RetweetedVisibilityProperty); }
            set { SetValue(RetweetedVisibilityProperty, value);  }
        }

        public static readonly DependencyProperty RetweetedWeiBoVisibilityProperty =
         DependencyProperty.Register("RetweetedWeiBoVisibility", typeof(Visibility), typeof(WeiBoContent), null);
        public Visibility RetweetedWeiBoVisibility
        {
            get { return (Visibility)GetValue(RetweetedWeiBoVisibilityProperty); }
            set { SetValue(RetweetedWeiBoVisibilityProperty, value); }
        }

        public static readonly DependencyProperty ThumbnailPicVisibilityProperty =
         DependencyProperty.Register("ThumbnailPicVisibility", typeof(Visibility), typeof(WeiBoContent), null);
        public Visibility ThumbnailPicVisibility
        {
            get { return (Visibility)GetValue(ThumbnailPicVisibilityProperty); }
            set { SetValue(ThumbnailPicVisibilityProperty, value); }
        }

		public WeiBoContent()
		{
			DefaultStyleKey = typeof(WeiBoContent);
            
		}

	}
}
